package top.lunarye.modules.award.service;

import org.springframework.web.bind.annotation.PathVariable;
import top.lunarye.modules.award.entity.Award;
import com.baomidou.mybatisplus.extension.service.IService;
import top.lunarye.modules.award.entity.dto.AwardAnalysisByNameDTO;
import top.lunarye.modules.staff.entity.Staff;
import top.lunarye.utils.RestResponse;

import java.util.Date;

/**
 * <p>
 * 成果表  服务类
 * </p>
 *
 * @author lunar
 * @since 2021-07-23
 */
public interface IAwardService extends IService<Award> {

    RestResponse analysisGroupByType();

    RestResponse analysisGroupByName();

    RestResponse analysisByName(String name, Integer current, Integer size);

    RestResponse analysisGroupByStaffNameLimitByDate(Date startTime, Date endTime);

    RestResponse analysisGroupByTypeLimitByDate(Date startTime, Date endTime);

    RestResponse<AwardAnalysisByNameDTO> analysisByNameLimitByDate(String name, Integer current, Integer size,
                                                                   Date startTime, Date endTime);
    
    RestResponse getStaffAwardsLimitByDatePage(Staff staff,
                                           Integer current,
                                           Integer size,
                                           Date startTime,
                                           Date endTime);

    RestResponse getStaffAwardsLimitByDate(Staff staff,
                                               Date startTime,
                                               Date endTime);

    RestResponse getStaffAwardAnalysisLimitByDate(Staff staff, Date startTime, Date endTime);

    RestResponse getStaffAwardAnalysis(Staff staff);

    RestResponse getStaffAwards(Staff staff);
}
